export interface loginForm {
  username: string;
  password: string;
  [key: string]: string; // 添加索引签名
}
export interface userInfo {
  id: number;
  username: string;
  password: string;
  name?: string;
  email?: string;
  phone?: number;
  avatar?: string;
  role?: string;
}

export interface studentInfo {
  id?: number;
  schoolId?: number;
  username?: string;
  password?: string;
  name?: string;
  email?: string;
  phone?: number;
  avatar?: string;
}

export interface courseForm {
  cid?: number;
  userid?: number;
  userName?: string;
  courseName?: string;
  className?: string;
  major?: string;
  introduction?: string;
  courseImg?: string;
  tagId?: number;
}
export interface courseStudent {
  studentId?: number;
  cid?: number;
  studentIds?: number[];
}
export interface chapterForm {
  id?: number;
  cid?: number;
  name?: string;
  introduction?: string;
  video?: string;
  // pointList: string
}
// 新建章节专用的实体类
export interface chapterRequest {
  chapter?: chapterForm;
  pointIds?: number[];
  questionIds?: number[];
}
export interface pointWithQuestionsForm {
  id: number;
  name?: string;
  introduction?: string;
  tagId?: number;
  questions: questionForm[];
}
export interface pointForm {
  id?: number;
  name?: string;
  introduction?: string;
  tagId?: number;
  tag?: string;
}
export interface tagForm {
  id: number;
  name: string;
}
export interface pointRelation {
  id?: number;
  point2name?: string;
  point1Id?: number;
  point2Id?: number;
  correlationStrength?: number;
}
// 作业
export interface submissionForm {
  id?: number;
  studentId?: number;
  studentName?: string;
  homeworkId?: number;
  submissionDate?: Date;
  formatDate?: string;
  dueDate?: Date;
  homeworkFile?: string;
  score?: string;
}
export interface homeworkForm {
  id?: number;
  cid?: number;
  title?: string;
  content?: string;
  dueDate?: string;
  userId?: number;
  name?: string;
  submission?: {
    score?: number;
    submissionDate?: string;
  };
}

export interface questionForm {
  id?: number;
  content?: string;
  option1?: string;
  option2?: string;
  option3?: string;
  option4?: string;
  tagId?: number;
  pointId?: number;
  answer?: string;
  select?: number;
}
